package h0801;

import java.util.Arrays;
import java.util.Scanner;
/**
  * @description 字符串变换最小字符串
  * @author 不知名帅哥
  * @date 2024/8/1 22:34
  * @version 1.0
*/
public class ChangeStringToMinString2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println(getResult(sc.nextLine()));
    }

    private static String getResult(String s) {
        char[] minSArr = s.toCharArray();
        Arrays.sort(minSArr);

        String minS=new String(minSArr);
        if (minS.equals(s)){
            return s;
        }

        char[] sArr = s.toCharArray();
        for (int i = 0; i < s.length(); i++) {
            if (sArr[i]!=minSArr[i]){
                char tmp=sArr[i];
                sArr[i]=minSArr[i];

                //TODO 思路就是先算出字典序的字符串，找到第一个跟源字符串不同的字符，看他在源字符串的哪一个位置。为了避免重复，取最后的一个的索引。
                int swapIndex=s.lastIndexOf(minSArr[i]);
                sArr[swapIndex]=tmp;
                break;
            }
        }
        return new String(sArr);
    }
}
